Skip to content

Conversation

fenos
Copy link
Contributor

@fenos fenos commented Oct 3, 2025

What kind of change does this PR introduce?

Feature

What is the new behaviour?

Implement Vector Bucket data source

Supported Operations:

  • CreateIndex
  • DeleteIndex
  • GetIndex
  • ListIndexes
  • PutVectors
  • ListVectors
  • ListVectorBuckets
  • QueryVectors
  • DeleteVectors
  • GetVectorBucket
  • GetVectors

Authentication mechanisms:

  • SignV4
  • JWT service_role

Copy link

snyk-io bot commented Oct 3, 2025

Snyk checks have failed. 7 issues have been found so far.

Icon Severity Issues
Critical 0
High 7
Medium 0
Low 0

code/snyk check is complete. 7 issues have been found. (View Details)

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.


const bucketResult = await request.s3Vector.getBucket(request.body)

return response.send(bucketResult)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Cross-site Scripting (XSS)

Unsanitized input from the HTTP request body flows into send, where it is used to render an HTML page returned to the user. This may result in a Cross-Site Scripting attack (XSS).

Line 42 | CWE-79 | Priority score 799 | Learn more about this vulnerability
Data flow: 9 steps

Step 1 - 7

const bucketResult = await request.s3Vector.getBucket(request.body)

Step 8 - 9

return response.send(bucketResult)


const indexResult = await request.s3Vector.getVectors(request.body)

return response.send(indexResult)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Cross-site Scripting (XSS)

Unsanitized input from the HTTP request body flows into send, where it is used to render an HTML page returned to the user. This may result in a Cross-Site Scripting attack (XSS).

Line 46 | CWE-79 | Priority score 799 | Learn more about this vulnerability
Data flow: 9 steps

Step 1 - 7

const indexResult = await request.s3Vector.getVectors(request.body)

Step 8 - 9

return response.send(indexResult)


const listBucketsResult = await request.s3Vector.listBuckets(request.body)

return response.send(listBucketsResult)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Cross-site Scripting (XSS)

Unsanitized input from the HTTP request body flows into send, where it is used to render an HTML page returned to the user. This may result in a Cross-Site Scripting attack (XSS).

Line 43 | CWE-79 | Priority score 799 | Learn more about this vulnerability
Data flow: 9 steps

Step 1 - 7

const listBucketsResult = await request.s3Vector.listBuckets(request.body)

Step 8 - 9

return response.send(listBucketsResult)

vectorBucketName: request.body.vectorBucketName,
})

return response.send(indexResult)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Cross-site Scripting (XSS)

Unsanitized input from the HTTP request body flows into send, where it is used to render an HTML page returned to the user. This may result in a Cross-Site Scripting attack (XSS).

Line 48 | CWE-79 | Priority score 799 | Learn more about this vulnerability
Data flow: 13 steps

Step 1 - 6

vectorBucketName: request.body.vectorBucketName,

Step 7 - 11 src/http/routes/vector/list-indexes.ts#L43

Step 12 - 13

return response.send(indexResult)


const indexResult = await request.s3Vector.listVectors(request.body)

return response.send(indexResult)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Cross-site Scripting (XSS)

Unsanitized input from the HTTP request body flows into send, where it is used to render an HTML page returned to the user. This may result in a Cross-Site Scripting attack (XSS).

Line 57 | CWE-79 | Priority score 799 | Learn more about this vulnerability
Data flow: 9 steps

Step 1 - 7

const indexResult = await request.s3Vector.listVectors(request.body)

Step 8 - 9

return response.send(indexResult)

}),
})

return response.send(indexResult)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Cross-site Scripting (XSS)

Unsanitized input from the HTTP request body flows into send, where it is used to render an HTML page returned to the user. This may result in a Cross-Site Scripting attack (XSS).

Line 81 | CWE-79 | Priority score 849 | Learn more about this vulnerability
Data flow: 13 steps

Step 1 - 6

vectorBucketName: request.body.vectorBucketName,

Step 7 - 11 src/http/routes/vector/put-vectors.ts#L70

Step 12 - 13

return response.send(indexResult)

returnMetadata: request.body.returnMetadata,
})

return response.send(indexResult)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Cross-site Scripting (XSS)

Unsanitized input from the HTTP request body flows into send, where it is used to render an HTML page returned to the user. This may result in a Cross-Site Scripting attack (XSS).

Line 156 | CWE-79 | Priority score 849 | Learn more about this vulnerability
Data flow: 13 steps

Step 1 - 6

vectorBucketName: request.body.vectorBucketName,

Step 7 - 11 src/http/routes/vector/query-vectors.ts#L145

Step 12 - 13

return response.send(indexResult)

@fenos fenos force-pushed the feat/vector-buckets branch from 757522d to 533ecf8 Compare October 3, 2025 11:48
@fenos fenos force-pushed the feat/vector-buckets branch from 533ecf8 to c94b7f9 Compare October 4, 2025 09:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant